[INFO] cloning repository https://github.com/rabbitson87/atomic_websocket
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rabbitson87/atomic_websocket" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frabbitson87%2Fatomic_websocket", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frabbitson87%2Fatomic_websocket'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dfdfd17967041f228d2975987c9b87fab4d9c62f
[INFO] fixing rabbitson87/atomic_websocket/dfdfd17967041f228d2975987c9b87fab4d9c62f against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frabbitson87%2Fatomic_websocket" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rabbitson87/atomic_websocket
[INFO] finished tweaking git repo https://github.com/rabbitson87/atomic_websocket
[INFO] tweaked toml for git repo https://github.com/rabbitson87/atomic_websocket written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rabbitson87/atomic_websocket on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rabbitson87/atomic_websocket already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-6-tc2/source/test_server/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-6-tc2/source/test_client/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] fixing rabbitson87/atomic_websocket/dfdfd17967041f228d2975987c9b87fab4d9c62f against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frabbitson87%2Fatomic_websocket" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rabbitson87/atomic_websocket
[INFO] finished tweaking git repo https://github.com/rabbitson87/atomic_websocket
[INFO] tweaked toml for git repo https://github.com/rabbitson87/atomic_websocket written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rabbitson87/atomic_websocket on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rabbitson87/atomic_websocket already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-6-tc2/source/test_server/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-6-tc2/source/test_client/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thread-id v4.2.2
[INFO] [stderr]   Downloaded bebop v3.2.3
[INFO] [stderr]   Downloaded rand_core v0.9.1
[INFO] [stderr]   Downloaded serde_json v1.0.127
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.5
[INFO] [stderr]   Downloaded rinf v8.10.0
[INFO] [stderr]   Downloaded os-thread-local v0.1.3
[INFO] [stderr]   Downloaded rinf_proc v8.9.1
[INFO] [stderr]   Downloaded native_model v0.4.20
[INFO] [stderr]   Downloaded allo-isolate v0.1.26
[INFO] [stderr]   Downloaded native_db_macro v0.8.2
[INFO] [stderr]   Downloaded zerocopy v0.8.5
[INFO] [stderr]   Downloaded native_model_macro v0.4.20
[INFO] [stderr]   Downloaded bebop-tools v3.1.2
[INFO] [stderr]   Downloaded redb v2.1.4
[INFO] [stderr]   Downloaded redb v1.5.1
[INFO] [stderr]   Downloaded native_db v0.8.2
[INFO] [stderr]   Downloaded rustix v0.38.35
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f
[INFO] running `Command { std: "docker" "start" "59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/test_server/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/test_client/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/test_server/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/test_client/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating make_bebop/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating test_server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating test_client/Cargo.toml from 2021 edition to 2024
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/test_server/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/test_client/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling serde_json v1.0.127
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling pulldown-cmark v0.9.6
[INFO] [stderr]    Compiling zerocopy v0.8.5
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]    Compiling bytecount v0.6.8
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling redb v1.5.1
[INFO] [stderr]    Compiling redb v2.1.4
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]     Checking bebop v3.2.3
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]    Compiling openssl-sys v0.9.103
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling openssl v0.10.66
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling rustix v0.38.35
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking thread-id v4.2.2
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking flate2 v1.0.33
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking json v0.12.4
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking which v4.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling zerocopy-derive v0.8.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling native_model_macro v0.4.20
[INFO] [stderr]    Compiling native_db_macro v0.8.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]     Checking zip v0.5.13
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand_core v0.9.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking nanoid v0.4.0
[INFO] [stderr]    Compiling camino v1.1.9
[INFO] [stderr]    Compiling cargo-platform v0.1.8
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling cargo_metadata v0.14.2
[INFO] [stderr]     Checking log4rs v1.3.0
[INFO] [stderr]    Compiling skeptic v0.13.7
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling native_model v0.4.20
[INFO] [stderr]    Compiling native_db v0.8.2
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking atomic_websocket v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/client_sender.rs:282:19
[INFO] [stdout]     |
[INFO] [stdout] 282 |             match sender.send(message.clone()).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                            |
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 287 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 293 |                     if !backoff.wait().await {
[INFO] [stdout]     |                         --------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/get_internal_websocket.rs:217:39
[INFO] [stdout]     |
[INFO] [stdout] 217 |           while let Some(Ok(message)) = istream.next().await {
[INFO] [stdout]     |                             -------     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |           |              |
[INFO] [stdout]     |                             |           |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |           |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                             |           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `message` calls a custom destructor
[INFO] [stdout]     |                             `message` will be dropped later as of Edition 2024
[INFO] [stdout] 218 |               server_sender.write_received_times().await;
[INFO] [stdout]     |               ------------------------------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 219 |               let value = message.into_data();
[INFO] [stdout]     |                   -----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `value` calls a custom destructor
[INFO] [stdout]     |                   `value` will be dropped later as of Edition 2024
[INFO] [stdout] 220 |               let data = match get_data_schema(&value) {
[INFO] [stdout]     |                                -----------------------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |                   Ok(data) => data,
[INFO] [stdout] 222 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                   server_sender.send_status(SenderStatus::Connected).await;
[INFO] [stdout]     |                   --------------------------------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 | /                     tokio::spawn(async move {
[INFO] [stdout] 241 | |                         sleep(Duration::from_secs(retry_seconds)).await;
[INFO] [stdout] 242 | |                         is_wait_ping_clone.set_bool(false);
[INFO] [stdout] 243 | |                         server_sender_clone.send(make_ping_message(&id)).await;
[INFO] [stdout] 244 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |                   let _ = sx.send(make_disconnect_message(peer)).await;
[INFO] [stdout]     |                           --------------------------------------------
[INFO] [stdout]     |                           |                                      |
[INFO] [stdout]     |                           |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 257 |               server_sender.send_handle_message(data).await;
[INFO] [stdout]     |               ---------------------------------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 258 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/get_internal_websocket.rs:269:31
[INFO] [stdout]     |
[INFO] [stdout] 265 | /         tokio::select! {
[INFO] [stdout] 266 | |             msg = rx.recv() => {
[INFO] [stdout]     | |             ---
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `msg` calls a custom destructor
[INFO] [stdout]     | |             `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 267 | |                 match msg {
[INFO] [stdout] 268 | |                     Some(message) => {
[INFO] [stdout] 269 | |                         match ostream.send(message.clone()).await {
[INFO] [stdout]     | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                               |                             |
[INFO] [stdout]     | |                               |                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                               |                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                               |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                               |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 270 | |                             Ok(_) => {
[INFO] [stdout] 271 | |                                 let data = message.into_data();
[INFO] [stdout]     | |                                     ----
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     `data` calls a custom destructor
[INFO] [stdout]     | |                                     `data` will be dropped later as of Edition 2024
[INFO] [stdout] 272 | |                                 let data = match get_data_schema(&data) {
[INFO] [stdout]     | |                                                  ----------------------
[INFO] [stdout]     | |                                                  |
[INFO] [stdout]     | |                                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 273 | |                                     Ok(data) => data,
[INFO] [stdout] 274 | |                                     Err(e) => {
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         `e` calls a custom destructor
[INFO] [stdout]     | |                                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 286 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 291 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         `output` calls a custom destructor
[INFO] [stdout]     | |         `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         `futures_init` calls a custom destructor
[INFO] [stdout]     | |         `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         `futures` calls a custom destructor
[INFO] [stdout]     | |         `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking test_server v0.1.0 (/opt/rustwide/workdir/test_server)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/internal_server.rs:463:47
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 while let Some(Ok(message)) = istream.next().await {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                               |              |
[INFO] [stdout]     |                                               |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 464 |                     let value = message.into_data();
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `value` calls a custom destructor
[INFO] [stdout]     |                         `value` will be dropped later as of Edition 2024
[INFO] [stdout] 465 |                     let data = match get_data_schema(&value) {
[INFO] [stdout]     |                                      -----------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 466 |                         Ok(data) => data,
[INFO] [stdout] 467 |                         Err(e) => {
[INFO] [stdout]     |                             -
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `e` calls a custom destructor
[INFO] [stdout]     |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 476 |                             client_senders.send(data.peer, make_pong_message()).await;
[INFO] [stdout]     |                             ---------------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 489 |                         if mw.on_message(&id, &value).await == MiddlewareResult::Stop {
[INFO] [stdout]     |                            --------------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 497 |                         client_senders.send_handle_message(data, &id).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 498 |                     }
[INFO] [stdout] 499 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking test_client v0.1.0 (/opt/rustwide/workdir/test_client)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/internal_server.rs:512:31
[INFO] [stdout]     |
[INFO] [stdout] 512 |     while let Some(message) = rx.recv().await {
[INFO] [stdout]     |                    -------    ^^^^^^^^^^-----
[INFO] [stdout]     |                    |          |         |
[INFO] [stdout]     |                    |          |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                    |          |         up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |          |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |          |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                    |          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `message` calls a custom destructor
[INFO] [stdout]     |                    `message` will be dropped later as of Edition 2024
[INFO] [stdout] 513 |         ostream.send(message.clone()).await?;
[INFO] [stdout]     |         ------------------------------------
[INFO] [stdout]     |         |                             |
[INFO] [stdout]     |         |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |         |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 514 |         let data = message.into_data();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `data` calls a custom destructor
[INFO] [stdout]     |             `data` will be dropped later as of Edition 2024
[INFO] [stdout] 515 |         let data = match get_data_schema(&data) {
[INFO] [stdout]     |                          ----------------------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 516 |             Ok(data) => data,
[INFO] [stdout] 517 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/server_sender.rs:447:19
[INFO] [stdout]     |
[INFO] [stdout] 447 |               match sender.send(message.clone()).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                            |
[INFO] [stdout]     |                     |                            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     |                            up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                     up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 452 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 458 |                       if !backoff.wait().await {
[INFO] [stdout]     |                           --------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 465 | /                                     tokio::spawn(wrap_get_internal_websocket(
[INFO] [stdout] 466 | |                                         db,
[INFO] [stdout] 467 | |                                         ss.clone(),
[INFO] [stdout] 468 | |                                         server_ip,
[INFO] [stdout] 469 | |                                         options,
[INFO] [stdout] 470 | |                                     ));
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 473 |                                       tokio::spawn(wrap_get_outer_websocket(db, ss.clone(), options));
[INFO] [stdout]     |                                       ---------------------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 481 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hyper v0.14.30
[INFO] [stderr]    Migrating tests/reconnection_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/client_sender.rs:282:19
[INFO] [stdout]     |
[INFO] [stdout] 282 |             match sender.send(message.clone()).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                            |
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 287 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 293 |                     if !backoff.wait().await {
[INFO] [stdout]     |                         --------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/get_internal_websocket.rs:217:39
[INFO] [stdout]     |
[INFO] [stdout] 217 |           while let Some(Ok(message)) = istream.next().await {
[INFO] [stdout]     |                             -------     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |           |              |
[INFO] [stdout]     |                             |           |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |           |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                             |           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `message` calls a custom destructor
[INFO] [stdout]     |                             `message` will be dropped later as of Edition 2024
[INFO] [stdout] 218 |               server_sender.write_received_times().await;
[INFO] [stdout]     |               ------------------------------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 219 |               let value = message.into_data();
[INFO] [stdout]     |                   -----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `value` calls a custom destructor
[INFO] [stdout]     |                   `value` will be dropped later as of Edition 2024
[INFO] [stdout] 220 |               let data = match get_data_schema(&value) {
[INFO] [stdout]     |                                -----------------------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |                   Ok(data) => data,
[INFO] [stdout] 222 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                   server_sender.send_status(SenderStatus::Connected).await;
[INFO] [stdout]     |                   --------------------------------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 | /                     tokio::spawn(async move {
[INFO] [stdout] 241 | |                         sleep(Duration::from_secs(retry_seconds)).await;
[INFO] [stdout] 242 | |                         is_wait_ping_clone.set_bool(false);
[INFO] [stdout] 243 | |                         server_sender_clone.send(make_ping_message(&id)).await;
[INFO] [stdout] 244 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |                   let _ = sx.send(make_disconnect_message(peer)).await;
[INFO] [stdout]     |                           --------------------------------------------
[INFO] [stdout]     |                           |                                      |
[INFO] [stdout]     |                           |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 257 |               server_sender.send_handle_message(data).await;
[INFO] [stdout]     |               ---------------------------------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 258 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/get_internal_websocket.rs:269:31
[INFO] [stdout]     |
[INFO] [stdout] 265 | /         tokio::select! {
[INFO] [stdout] 266 | |             msg = rx.recv() => {
[INFO] [stdout]     | |             ---
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `msg` calls a custom destructor
[INFO] [stdout]     | |             `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 267 | |                 match msg {
[INFO] [stdout] 268 | |                     Some(message) => {
[INFO] [stdout] 269 | |                         match ostream.send(message.clone()).await {
[INFO] [stdout]     | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                               |                             |
[INFO] [stdout]     | |                               |                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                               |                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                               |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                               |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 270 | |                             Ok(_) => {
[INFO] [stdout] 271 | |                                 let data = message.into_data();
[INFO] [stdout]     | |                                     ----
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     `data` calls a custom destructor
[INFO] [stdout]     | |                                     `data` will be dropped later as of Edition 2024
[INFO] [stdout] 272 | |                                 let data = match get_data_schema(&data) {
[INFO] [stdout]     | |                                                  ----------------------
[INFO] [stdout]     | |                                                  |
[INFO] [stdout]     | |                                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 273 | |                                     Ok(data) => data,
[INFO] [stdout] 274 | |                                     Err(e) => {
[INFO] [stdout]     | |                                         -
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         `e` calls a custom destructor
[INFO] [stdout]     | |                                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 286 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 291 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         `output` calls a custom destructor
[INFO] [stdout]     | |         `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         `futures_init` calls a custom destructor
[INFO] [stdout]     | |         `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         `futures` calls a custom destructor
[INFO] [stdout]     | |         `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/internal_server.rs:463:47
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 while let Some(Ok(message)) = istream.next().await {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                               |              |
[INFO] [stdout]     |                                               |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 464 |                     let value = message.into_data();
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `value` calls a custom destructor
[INFO] [stdout]     |                         `value` will be dropped later as of Edition 2024
[INFO] [stdout] 465 |                     let data = match get_data_schema(&value) {
[INFO] [stdout]     |                                      -----------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 466 |                         Ok(data) => data,
[INFO] [stdout] 467 |                         Err(e) => {
[INFO] [stdout]     |                             -
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `e` calls a custom destructor
[INFO] [stdout]     |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 476 |                             client_senders.send(data.peer, make_pong_message()).await;
[INFO] [stdout]     |                             ---------------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 489 |                         if mw.on_message(&id, &value).await == MiddlewareResult::Stop {
[INFO] [stdout]     |                            --------------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 497 |                         client_senders.send_handle_message(data, &id).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 498 |                     }
[INFO] [stdout] 499 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/internal_server.rs:512:31
[INFO] [stdout]     |
[INFO] [stdout] 512 |     while let Some(message) = rx.recv().await {
[INFO] [stdout]     |                    -------    ^^^^^^^^^^-----
[INFO] [stdout]     |                    |          |         |
[INFO] [stdout]     |                    |          |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                    |          |         up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |          |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |          |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                    |          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `message` calls a custom destructor
[INFO] [stdout]     |                    `message` will be dropped later as of Edition 2024
[INFO] [stdout] 513 |         ostream.send(message.clone()).await?;
[INFO] [stdout]     |         ------------------------------------
[INFO] [stdout]     |         |                             |
[INFO] [stdout]     |         |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |         |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 514 |         let data = message.into_data();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `data` calls a custom destructor
[INFO] [stdout]     |             `data` will be dropped later as of Edition 2024
[INFO] [stdout] 515 |         let data = match get_data_schema(&data) {
[INFO] [stdout]     |                          ----------------------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 516 |             Ok(data) => data,
[INFO] [stdout] 517 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `message` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/helpers/server_sender.rs:447:19
[INFO] [stdout]     |
[INFO] [stdout] 447 |               match sender.send(message.clone()).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                            |
[INFO] [stdout]     |                     |                            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     |                            up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                     up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 452 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 458 |                       if !backoff.wait().await {
[INFO] [stdout]     |                           --------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 465 | /                                     tokio::spawn(wrap_get_internal_websocket(
[INFO] [stdout] 466 | |                                         db,
[INFO] [stdout] 467 | |                                         ss.clone(),
[INFO] [stdout] 468 | |                                         server_ip,
[INFO] [stdout] 469 | |                                         options,
[INFO] [stdout] 470 | |                                     ));
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 473 |                                       tokio::spawn(wrap_get_outer_websocket(db, ss.clone(), options));
[INFO] [stdout]     |                                       ---------------------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 481 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/feature_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:142:31
[INFO] [stdout]     |
[INFO] [stdout] 142 |       while let Some(Ok(msg)) = read.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 143 |           let data = msg.into_data();
[INFO] [stdout]     |               ----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `data` calls a custom destructor
[INFO] [stdout]     |               `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                   if write.send(pong).await.is_err() {
[INFO] [stdout]     |                      ----------------------
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                      |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |           if write
[INFO] [stdout]     |  ____________-
[INFO] [stdout] 164 | |             .send(Message::Binary(Bytes::from(data.to_vec())))
[INFO] [stdout] 165 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 170 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/common/mod.rs:189:60
[INFO] [stdout]      |
[INFO] [stdout]  189 |         match tokio::time::timeout_at(deadline, rx.recv()).await {
[INFO] [stdout]      |               ---------------------------------------------^^^^^
[INFO] [stdout]      |               |                                            |
[INFO] [stdout]      |               |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  195 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:142:31
[INFO] [stdout]     |
[INFO] [stdout] 142 |       while let Some(Ok(msg)) = read.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 143 |           let data = msg.into_data();
[INFO] [stdout]     |               ----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `data` calls a custom destructor
[INFO] [stdout]     |               `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                   if write.send(pong).await.is_err() {
[INFO] [stdout]     |                      ----------------------
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                      |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |           if write
[INFO] [stdout]     |  ____________-
[INFO] [stdout] 164 | |             .send(Message::Binary(Bytes::from(data.to_vec())))
[INFO] [stdout] 165 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 170 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating test_server/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/common/mod.rs:189:60
[INFO] [stdout]      |
[INFO] [stdout]  189 |         match tokio::time::timeout_at(deadline, rx.recv()).await {
[INFO] [stdout]      |               ---------------------------------------------^^^^^
[INFO] [stdout]      |               |                                            |
[INFO] [stdout]      |               |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  195 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating test_client/src/main.rs from 2021 edition to 2024
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> test_server/src/main.rs:54:48
[INFO] [stdout]    |
[INFO] [stdout] 54 |     tokio::spawn(receive_server_handle_message(handle_message_receiver));
[INFO] [stdout]    |                  ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Receiver<(Vec<u8>, String)>`, found `Option<Receiver<(Vec<u8>, String)>>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                 found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> test_server/src/main.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub async fn receive_server_handle_message(mut receiver: Receiver<(Vec<u8>, String)>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -----------------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<(Vec<u8>, std::string::String)>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     tokio::spawn(receive_server_handle_message(handle_message_receiver.expect("REASON")));
[INFO] [stdout]    |                                                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `test_server` (bin "test_server" test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr]    Migrating tests/client_server_test.rs from 2021 edition to 2024
[INFO] [stderr] error: could not compile `test_client` (bin "test_client" test) due to 4 previous errors; 1 warning emitted
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> test_client/src/main.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tokio::spawn(receive_status(status_receiver));
[INFO] [stdout]    |                  -------------- ^^^^^^^^^^^^^^^ expected `Receiver<SenderStatus>`, found `Option<Receiver<SenderStatus>>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                 found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> test_client/src/main.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn receive_status(mut receiver: Receiver<SenderStatus>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ ------------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<SenderStatus>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tokio::spawn(receive_status(status_receiver.expect("REASON")));
[INFO] [stdout]    |                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> test_client/src/main.rs:85:46
[INFO] [stdout]     |
[INFO] [stdout]  85 |       while let Some(status) = receiver.recv().await {
[INFO] [stdout]     |                                ----------------^^^^^
[INFO] [stdout]     |                                |               |
[INFO] [stdout]     |                                |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |               let id = get_id(db().clone()).await;
[INFO] [stdout]     |                        --------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 100 | /             server_sender()
[INFO] [stdout] 101 | |                 .send(make_response_message(
[INFO] [stdout] 102 | |                     atomic_websocket::schema::Category::AppStartup,
[INFO] [stdout] 103 | |                     datas,
[INFO] [stdout] 104 | |                 ))
[INFO] [stdout] 105 | |                 .await;
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 106 |           }
[INFO] [stdout] 107 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> test_client/src/main.rs:51:41
[INFO] [stdout]     |
[INFO] [stdout]  51 |     tokio::spawn(receive_handle_message(handle_message_receiver));
[INFO] [stdout]     |                  ---------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Receiver<Vec<u8>>`, found `Option<Receiver<Vec<u8>>>`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                  found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> test_client/src/main.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub async fn receive_handle_message(mut receiver: Receiver<Vec<u8>>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^ -------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<Vec<u8>>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout]  51 |     tokio::spawn(receive_handle_message(handle_message_receiver.expect("REASON")));
[INFO] [stdout]     |                                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> test_client/src/main.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |     tokio::spawn(receive_status(status_receiver));
[INFO] [stdout]    |                  -------------- ^^^^^^^^^^^^^^^ expected `Receiver<SenderStatus>`, found `Option<Receiver<SenderStatus>>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                 found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> test_client/src/main.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn receive_status(mut receiver: Receiver<SenderStatus>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ ------------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<SenderStatus>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     tokio::spawn(receive_status(status_receiver.expect("REASON")));
[INFO] [stdout]    |                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> test_client/src/main.rs:71:41
[INFO] [stdout]     |
[INFO] [stdout]  71 |     tokio::spawn(receive_handle_message(handle_message_receiver));
[INFO] [stdout]     |                  ---------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Receiver<Vec<u8>>`, found `Option<Receiver<Vec<u8>>>`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                  found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> test_client/src/main.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub async fn receive_handle_message(mut receiver: Receiver<Vec<u8>>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^ -------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<Vec<u8>>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout]  71 |     tokio::spawn(receive_handle_message(handle_message_receiver.expect("REASON")));
[INFO] [stdout]     |                                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:142:31
[INFO] [stdout]     |
[INFO] [stdout] 142 |       while let Some(Ok(msg)) = read.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 143 |           let data = msg.into_data();
[INFO] [stdout]     |               ----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `data` calls a custom destructor
[INFO] [stdout]     |               `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                   if write.send(pong).await.is_err() {
[INFO] [stdout]     |                      ----------------------
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                      |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |           if write
[INFO] [stdout]     |  ____________-
[INFO] [stdout] 164 | |             .send(Message::Binary(Bytes::from(data.to_vec())))
[INFO] [stdout] 165 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 170 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/common/mod.rs:189:60
[INFO] [stdout]      |
[INFO] [stdout]  189 |         match tokio::time::timeout_at(deadline, rx.recv()).await {
[INFO] [stdout]      |               ---------------------------------------------^^^^^
[INFO] [stdout]      |               |                                            |
[INFO] [stdout]      |               |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  195 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> test_server/src/main.rs:54:48
[INFO] [stdout]    |
[INFO] [stdout] 54 |     tokio::spawn(receive_server_handle_message(handle_message_receiver));
[INFO] [stdout]    |                  ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Receiver<(Vec<u8>, String)>`, found `Option<Receiver<(Vec<u8>, String)>>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                 found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> test_server/src/main.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub async fn receive_server_handle_message(mut receiver: Receiver<(Vec<u8>, String)>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -----------------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<(Vec<u8>, std::string::String)>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     tokio::spawn(receive_server_handle_message(handle_message_receiver.expect("REASON")));
[INFO] [stdout]    |                                                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/reconnection_downtime_test.rs from 2021 edition to 2024
[INFO] [stderr] error: could not compile `test_server` (bin "test_server") due to 1 previous error
[INFO] [stderr]    Migrating tests/message_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:142:31
[INFO] [stdout]     |
[INFO] [stdout] 142 |       while let Some(Ok(msg)) = read.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 143 |           let data = msg.into_data();
[INFO] [stdout]     |               ----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `data` calls a custom destructor
[INFO] [stdout]     |               `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                   if write.send(pong).await.is_err() {
[INFO] [stdout]     |                      ----------------------
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                      |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |           if write
[INFO] [stdout]     |  ____________-
[INFO] [stdout] 164 | |             .send(Message::Binary(Bytes::from(data.to_vec())))
[INFO] [stdout] 165 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 170 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/common/mod.rs:189:60
[INFO] [stdout]      |
[INFO] [stdout]  189 |         match tokio::time::timeout_at(deadline, rx.recv()).await {
[INFO] [stdout]      |               ---------------------------------------------^^^^^
[INFO] [stdout]      |               |                                            |
[INFO] [stdout]      |               |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  195 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/reconnection_downtime_test.rs:499:76
[INFO] [stdout]      |
[INFO] [stdout]  499 |         tokio::time::timeout(Duration::from_millis(100), status_rx.recv()).await
[INFO] [stdout]      |         -------------------------------------------------------------------^^^^^
[INFO] [stdout]      |         |                                                                  |
[INFO] [stdout]      |         |                                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |                                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  504 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/reconnection_downtime_test.rs:848:76
[INFO] [stdout]      |
[INFO] [stdout]  848 |         tokio::time::timeout(Duration::from_millis(100), status_rx.recv()).await
[INFO] [stdout]      |         -------------------------------------------------------------------^^^^^
[INFO] [stdout]      |         |                                                                  |
[INFO] [stdout]      |         |                                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |                                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  853 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:142:31
[INFO] [stdout]     |
[INFO] [stdout] 142 |       while let Some(Ok(msg)) = read.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                 up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 143 |           let data = msg.into_data();
[INFO] [stdout]     |               ----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `data` calls a custom destructor
[INFO] [stdout]     |               `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                   if write.send(pong).await.is_err() {
[INFO] [stdout]     |                      ----------------------
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                      |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |           if write
[INFO] [stdout]     |  ____________-
[INFO] [stdout] 164 | |             .send(Message::Binary(Bytes::from(data.to_vec())))
[INFO] [stdout] 165 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 170 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/common/mod.rs:189:60
[INFO] [stdout]      |
[INFO] [stdout]  189 |         match tokio::time::timeout_at(deadline, rx.recv()).await {
[INFO] [stdout]      |               ---------------------------------------------^^^^^
[INFO] [stdout]      |               |                                            |
[INFO] [stdout]      |               |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  195 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.14/src/lib.rs:1288:9
[INFO] [stdout]      |
[INFO] [stdout] 1288 | /         impl $(<
[INFO] [stdout] 1289 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1290 | |             $( $generics
[INFO] [stdout] 1291 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1294 | |             ),*
[INFO] [stdout] 1295 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> test_client/src/main.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tokio::spawn(receive_status(status_receiver));
[INFO] [stdout]    |                  -------------- ^^^^^^^^^^^^^^^ expected `Receiver<SenderStatus>`, found `Option<Receiver<SenderStatus>>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                 found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> test_client/src/main.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn receive_status(mut receiver: Receiver<SenderStatus>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ ------------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<SenderStatus>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tokio::spawn(receive_status(status_receiver.expect("REASON")));
[INFO] [stdout]    |                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> test_client/src/main.rs:85:46
[INFO] [stdout]     |
[INFO] [stdout]  85 |       while let Some(status) = receiver.recv().await {
[INFO] [stdout]     |                                ----------------^^^^^
[INFO] [stdout]     |                                |               |
[INFO] [stdout]     |                                |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |               let id = get_id(db().clone()).await;
[INFO] [stdout]     |                        --------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 100 | /             server_sender()
[INFO] [stdout] 101 | |                 .send(make_response_message(
[INFO] [stdout] 102 | |                     atomic_websocket::schema::Category::AppStartup,
[INFO] [stdout] 103 | |                     datas,
[INFO] [stdout] 104 | |                 ))
[INFO] [stdout] 105 | |                 .await;
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 106 |           }
[INFO] [stdout] 107 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> test_client/src/main.rs:51:41
[INFO] [stdout]     |
[INFO] [stdout]  51 |     tokio::spawn(receive_handle_message(handle_message_receiver));
[INFO] [stdout]     |                  ---------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Receiver<Vec<u8>>`, found `Option<Receiver<Vec<u8>>>`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                  found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> test_client/src/main.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub async fn receive_handle_message(mut receiver: Receiver<Vec<u8>>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^ -------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<Vec<u8>>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout]  51 |     tokio::spawn(receive_handle_message(handle_message_receiver.expect("REASON")));
[INFO] [stdout]     |                                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `test_client` (bin "test_client") due to 4 previous errors; 1 warning emitted
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> test_client/src/main.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |     tokio::spawn(receive_status(status_receiver));
[INFO] [stdout]    |                  -------------- ^^^^^^^^^^^^^^^ expected `Receiver<SenderStatus>`, found `Option<Receiver<SenderStatus>>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                 found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> test_client/src/main.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn receive_status(mut receiver: Receiver<SenderStatus>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ ------------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<SenderStatus>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     tokio::spawn(receive_status(status_receiver.expect("REASON")));
[INFO] [stdout]    |                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> test_client/src/main.rs:71:41
[INFO] [stdout]     |
[INFO] [stdout]  71 |     tokio::spawn(receive_handle_message(handle_message_receiver));
[INFO] [stdout]     |                  ---------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Receiver<Vec<u8>>`, found `Option<Receiver<Vec<u8>>>`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `tokio::sync::mpsc::Receiver<_>`
[INFO] [stdout]                  found enum `Option<tokio::sync::mpsc::Receiver<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> test_client/src/main.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub async fn receive_handle_message(mut receiver: Receiver<Vec<u8>>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^ -------------------------------
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<tokio::sync::mpsc::Receiver<Vec<u8>>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout]  71 |     tokio::spawn(receive_handle_message(handle_message_receiver.expect("REASON")));
[INFO] [stdout]     |                                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f", kill_on_drop: false }`
[INFO] [stdout] 59c2e6d8289eecdb5e79f6aff2d628bcdff2ebfe3fbe2d8ade7e5fdf9cb2a63f
